package com.info.game;

import java.util.ArrayList;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Vector2;
import com.component.game.NullAIComponent;
import com.component.game.NullInputComponent;
import com.component.game.NullPhysicsComponent;
import com.level.game.GameObjectInfo;
import com.level.game.Instruction;
import com.level.game.StageInfo;
import com.render.game.RenderType;

public class MenuInstruction extends Instruction{

	@Override
	public StageInfo getStageInfo() {
		
		return new StageInfo(new Vector2(), new Vector2(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()), new Vector2(), new Vector2(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()));
	}

	@SuppressWarnings("serial")
	@Override
	public ArrayList<GameObjectInfo> getGameObjectsInfo() {
		
		return new ArrayList<GameObjectInfo>(){

			{
				this.add(new GameObjectInfo("START_BACKGROUND", NullInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						NullPhysicsComponent.class.getCanonicalName(), StartBackgroundRenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.background, -1));
				
				
				this.add(new GameObjectInfo("START_BUTTON", StartButtonInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						NullPhysicsComponent.class.getCanonicalName(), StartButtonRenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.gui, -1));
				
				this.add(new GameObjectInfo("EXIT_BUTTON", ExitButtonInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						NullPhysicsComponent.class.getCanonicalName(), ExitButtonRenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.gui, -1));
			}
		};
		
		
	}

}
